maxn = int(1e5 + 7)
G = [[] for i in range(maxn)]  # G[u]中放u与哪些点有边


def dfstree(u: int, fa: int, G=G):  # G是树
    # 这儿有点处理
    for v in G[u]:
        if fa == v:
            continue
        # 这儿有点处理
        dfstree(v, u)
        # 这儿有点处理
    # 这儿有点处理


vis = [False for u in range(maxn)]


def dfs(u: int, G=G, vis=vis):
    vis[u] = True
    # 这儿有点处理
    for v in G[u]:
        if vis[v]:
            continue
        # 这儿有点处理
        dfs(v)
        # 这儿有点处理
    # 这儿有点处理
